A transaction system of the prior art performs recovery based on WAL(Write Ahead Logging) for recovery against system failures and media failures. This technique is important to support transaction atomicity, which means that a transaction request should be carried out in an atomic operation but not through several operations in the transaction system. That is, when the transaction is to be aborted due to system failures, what is done according to the transaction should be undone to maintain the transaction atomicity.
In order to raise recovery efficiencies, these transaction systems carry out requests such as a request for file deletion in a particular way. This is because, when a transaction including file deletion operation is to be aborted, what has been changed due to the file deletion should be undone. Further, this process costs much.
In a recovery technique described in ARIES(Algorithm for Recovery and Isolation Exploiting Semantics), a file deleting request is deferred until transaction commitment is completed. In order to support the above-described operation, almost transaction system keeps a pending action list in a transaction table. And then, if a file delete request is generated before the transaction commitment is completed, the transaction system does not perform file deletion but just registers the file delete request in the pending action list. After the transaction is committed, a transaction manager processes the file delete request with reference to the pending action list.
But in ARIES, there is suggested no method against system failures during the processing file delete requests after a transaction is committed. If system failures occur while file deletion is being carried out, a part of storage space remains not being released, which results in that a part of the storage space is unable to be used later or coherency of the storage space is not maintained.
A solution to the above-described problems is suggested in the prior art.
Referring to the prior art, the file deletion is completed to release the part of storage space that remains not being released when system failures occur during the file deletion. This is enabled by deleting the corresponding file again even if the file deletion is interrupted by the system failures.
The method of the prior art is advantageous in that the recovery process related to file releasing against system failures can be simplified.
Meanwhile, to satisfy such property of the prior art in deleting a file having multiple allocation blocks in several storage devices, system should keep consistency when the file releasing is interrupted. Accordingly, in order to release the block allocated for the file, all of the correlated changes between the blocks on storage should be considered or not, such that the system consistency is maintained.
That is, if one of these processes is interrupted by system failures, discordance is generated between data structures of the allocation blocks, and the consistency of data is corrupted. Such a problem arises because a file deletion process is a non-atomic operation including multiple consecutive processes.